package com.nulldev.util.data.Sets;

import com.nulldev.util.data.FinalBypass;
import com.nulldev.util.data.variable;
import com.nulldev.util.io.FastIO.FastIO;

public class DataSet<A, B> {

	private final A dataSetA;
	private final B dataSetB;

	public DataSet(final A valA, final B valB) {
		this.dataSetA = valA;
		this.dataSetB = valB;
	}

	public A getA() {
		return this.dataSetA;
	}

	@Deprecated
	public FinalBypass<A> convertAtoFinal() {
		return new FinalBypass<A>(this.dataSetA);
	}

	public variable<A> convertAToVariable() {
		return new variable<A>(this.dataSetA);
	}

	public B getB() {
		return this.dataSetB;
	}

	public variable<B> convertBToVariable() {
		return new variable<B>(this.dataSetB);
	}

	@Deprecated
	public FinalBypass<B> convertBtoFinal() {
		return new FinalBypass<B>(this.dataSetB);
	}

	@Override
	public String toString() {
		return "DataSet[" + this.dataSetA + ", " + this.dataSetB + "]";
	}

	public void println() {
		FastIO.get().println(this.dataSetA + ", " + this.dataSetB);
	}

}
